##Processos e Permissões em Linux

Vamos abordar um pouco mais sobre permissões de processos em Linux. Lembrando que quando você executa o comando passwd com o bit de permissão SUID habilitado, o programa é executado como root? Isso é verdade, mas isso significa que, como você está temporariamente como root, você pode modificar as senhas de outros usuários? Não, felizmente não!

Essa é porque do muitos IDs de usuário (UIDs) que o Linux implementa. Existem três UIDs associados a cada processo:

Agora, vamos juntar essas peças todas juntas, olhando para o comando passwd novamente.

Quando você executa o comando passwd, sua effective UID é sua ID de usuário, por exemplo, 500 por enquanto. No entanto, o comando passwd tem o bit de permissão SUID habilitado, portanto, quando você o executa, sua effective UID é agora 0 (a UID de root). Agora, esse programa pode acessar arquivos como root.

Imagine que você deseja modificar a senha da Sally, que tem uma UID de 600. Bem, você não vai ter sorte, felizmente, o processo também tem sua UID real nesse caso, 500. Ele sabe que sua UID é 500 e, portanto, você não pode modificar a senha da UID de 600. (Claro que isso é sempre contornado se você for superusuário em uma máquina e pode controlar e alterar tudo.)

Na maioria do tempo, a UID real e a UID effective são as mesmas, mas em casos como o comando passwd, elas mudarão.